// 封装axios文件

import {TIMEOUT, baseURL} from "./AxiosConfig";
import axios from "axios";

const instance = axios.create({
    timeout: TIMEOUT,
    baseURL: baseURL
})

instance.interceptors.request.use((config)=> {
    // 1.发送网络请求时，在页面中添加一个loading组件作为动画；

    // 2.某些网络请求要求用户必须登录，可以在请求中判断是否携带了token，没有携带token直接跳转到login页面；

    // 3.对某些请求参数进行序列化；
    // 一定要返回这个config
    return config;
}, (error)=> {
    return error
})

instance.interceptors.response.use((response) => {
    return response.data;
},(err)=> {
    if (err && err.response) {
        switch (err.response.status) {
            case 400:
                err.message = "请求错误";
                break;
            case 401:
                err.message = "未授权访问";
                break;
        }
    }
    return err;
})

export default instance;